package tech.aistar.day02.method02;

/**
 * 本类用来演示: 返回类型
 *
 * @author: success
 * @date: 2021/3/8 8:43 上午
 */
public class ReturnMethodDemo {
    public static void main(String[] args) {
        //调用
        //它和void区别在 -
        //如果一个方法带有返回类型,那么在调用的时候,需要用对应的类型和变量来存储
        //这个方法调用之后的结果
        //ReturnMethodDemo.add();

        //方法的赋值方式 - 通过方法进行赋值
        //接受的类型要和方法的定义的类型保持一致,支持类型转换的.
        //int result = add();
        //System.out.println(result);

        //int类型->double类型
        //double result = add();
        //System.out.println(result);//100.0

        short s = (short) add();
        System.out.println(s);
    }

    public static int add(){
        //方法体中的任意一个出口一定要有return  + 结果;

        //注意:返回的结果的类型要和定义方法时的类型保持一致
        //return 10;

        //也是可以支持自动类型转换的.
        //返回的结果的类型可以小于方法定义时的类型

        //byte->short->int
        //char->int
        //return 'a';//ok

        //返回的结果类型大于方法定义时的类型,那么需要对结果的类型进行强类型转换
        //return (int) 3.14;//alt+enter

        //注意点:在带有返回类型的方法体中
        //return语句担任的作用:
        //1. 返回方法执行之后的最终的结果
        //2. 用来结束整个方法的.return语句下面的代码不会执行的.也不能再出现任何代码了.
        //System.out.println();

        return 100;
    }

    public static void test(){
        int n = 59;
        if(n<60){
            System.out.println("未成年...");
            return;//用来结束整个方法的...
        }
        System.out.println("可以自由活动");
    }
}
